home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 21
/
Aminet 21 (1997)(GTI - Schatztruhe)[!][Oct 1997].iso
/
Aminet
/
util
/
rexx
/
LM2xxx.lha
/
LM_TAB2HTML.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1997-08-10
|
8KB
|
305 lines
/* *
$VER: LM_TAB2xxx.REXX 1.07 (10.08.97) © 1997 Christian T. Steigies
* Convert LigaManager output to HTML,LaTeX *
* *
* Usage: RX LM_TAB2HTML <infile> *
* Usage: RX LM_TAB2LaTeX <infile> *
* */
/*+ "Hauptprogramm" */
/*+ "version, messages" */
ver = "1.07"
date = "10.08.97"
date2k = "10.08.1997"
copy = "© 1997 Christian T. Steigies"
DEBUG = 0
OUTPUT = 0 /* 1=HTML, 2=LaTeX */
ECHO "LigaManager output converter "ver" ("date")" copy
ECHO "Freeware, NO commercial usage ;-)"
ECHO
ECHO "This program comes without ANY WARRANTY, use at your own risk!"
ECHO
/*- */
/*+ "output definition" */
PARSE source cmdline
IF LEFT(UPPER(WORD(cmdline,3)),11)="LM_TAB2HTML" THEN DO
prg = "LM_TAB2HTML"
outfile = "ram:TAB.html"
a = "<TR>"
x = "<TD>"
xr = "<TD ALIGN=""RIGHT"">"
y = "</TD>"
z = "</TD></TR>"
T = ":"
blank = " "
OUTPUT=1
ECHO "Converting to HTML"
END
ELSE IF LEFT(UPPER(WORD(cmdline,3)),12)="LM_TAB2LATEX" THEN DO
prg = "LM_TAB2LaTeX"
outfile = "ram:TAB.tex"
a = ""
x = ""
xr = ""
y = " & "
z = " \\"
T = ":"
blank = ""
OUTPUT=2
ECHO "Converting to LaTeX"
END
ELSE DO
ECHO "Don't rename this program! Valid Names are:"
ECHO " LM2HTML.REXX for HTML output"
ECHO " LM2LaTeX.REXX for LaTeX output"
EXIT
END
/*- */
/*+ "error checking" */
IF ARG() ~= 1 THEN CALL usage(prg)
IF EXISTS( ARG(1) ) ~= 1 THEN DO
ECHO "infile not found!"
ECHO
CALL usage(prg)
END
OPEN(in,ARG(1),r)
OPEN(out,outfile,w)
titel = READLN(in)
nonascii = X2C('1B')||X2C('5B')
IF INDEX(titel,nonascii,3) > 0 THEN DO
ECHO "this is not an ASCII input file!"
ECHO "I don't know how to handle this (yet...)"
ECHO "Did you disable ""Steuerzeichen"" in options?"
ECHO
CALL usage(prg)
END
/*- */
/*+ "parsing" */
/* ECHO titel */
name = INDEX(titel," Sp ")
spiele_a = INDEX(titel," Sp ")
gew_a = INDEX(titel," g ")
une_a = INDEX(titel," u ")
ver_a = INDEX(titel," v ")
Tore1 = INDEX(titel," v ")+4
Tore_a = INDEX(titel," Tore ")
Quot_a = INDEX(titel," Quot ")
Diff_a = INDEX(titel,"Diff ")
Pt_a = INDEX(titel," Pt")
Pkte_a = INDEX(titel," Pkte")
/*+ "Debug" */
IF DEBUG=1 THEN DO
ECHO "Spiele: "spiele_a
ECHO "Gewonnen: "gew_a
ECHO "Unentschieden: "une_a
ECHO "Verloren: "ver_a
ECHO "Tore: "Tore_a
ECHO "Quot: "Quot_a
ECHO "Diff: "Diff_a
ECHO "Pt: "Pt_a
ECHO "Pkte: "Pkte_a
ECHO SUBSTR(titel,spiele_a,4)
ECHO SUBSTR(titel,gew_a,3)
ECHO SUBSTR(titel,une_a,3)
ECHO SUBSTR(titel,ver_a,3)
ECHO SUBSTR(titel,Tore_a,7)
IF Quot_a >0 THEN DO
ECHO SUBSTR(titel,Quot_a,5)
END
IF Diff_a > 0 THEN DO
ECHO SUBSTR(titel,Diff_a,4)
END
ECHO SUBSTR(titel,Pt_a,7)
END
/*- */
IF (spiele_a==0 | gew_a==0 | une_a==0 | ver_a==0 | Tore_a==0 | (Quot_a==0 & Diff_a==0) | (Pt_a==0 & Pkte_a==0) ) THEN DO
ECHO "infile corrupt!"
CALL usage(prg)
END
/*- */
/*+ "Output Header" */
SELECT
WHEN OUTPUT=1 THEN DO
/*+ "HTML" */
WRITELN(out, "<!DOCTYPE HTMLPUBLIC ""-//IETF//DTD HTML 3.2//EN//"">")
WRITELN(out, "<!-- created with: LigaManager2HTML "ver" by CTS -->")
WRITELN(out, "<HTML><HEAD><TITLE>Tabelle created with LM2HTML "ver" by CTS</TITLE></HEAD>")
WRITELN(out, "<BODY>")
WRITELN(out, "<CENTER>")
WRITELN(out, "<TABLE BORDER=""1"" CELLPADDING=""5"" CELLSPACING=""0"" WIDTH=""90%"">")
WRITELN(out, "<TR>")
WRITELN(out, "<TD COLSPAN=""2"" ALIGN=""LEFT"" VALIGN=""TOP""><B>"STRIP(LEFT(titel,name-1))"</B></TD>")
WRITELN(out, "<TD ALIGN=""CENTER"" VALIGN=""TOP""><B>Sp</B></TD>")
WRITELN(out, "<TD VALIGN=""TOP""><B>g</B></TD><TD VALIGN=""TOP""><B>u</B></TD><TD VALIGN=""TOP""><B>v</B></TD>")
WRITELN(out, "<TD ALIGN=""CENTER"" COLSPAN=""3"" VALIGN=""TOP""><B>Tore</B></TD>")
IF Quot_a>0 THEN DO
WRITELN(out, "<TD VALIGN=""TOP""><B>Quot</B></TD>")
END
ELSE DO
WRITELN(out, "<TD VALIGN=""TOP""><B>Diff</B></TD>")
END
IF Pt_a>0 THEN DO
WRITELN(out, "<TD VALIGN=""TOP""><B>Pt</B></TD>")
END
ELSE DO
WRITELN(out, "<TD ALIGN=""CENTER"" COLSPAN=""3"" VALIGN=""TOP""><B>Punkte</B></TD>")
END
WRITELN(out, "</TR>")
/*- */
END
WHEN OUTPUT=2 THEN DO
/*+ "LaTeX" */
WRITELN(out, "% created with: LigaManager2LaTeX "ver" by CTS")
WRITELN(out, "\documentclass{article}")
WRITELN(out, "\usepackage{german}")
WRITELN(out, "\usepackage[latin1]{inputenc}")
WRITELN(out, "\begin{document}")
IF Pt_a>0 THEN DO
WRITELN(out, "\begin{tabular}{rl|r|rrr|rcr|r|r}")
END
ELSE DO
WRITELN(out, "\begin{tabular}{rl|r|rrr|rcr|r|rcr}")
END
WRITELN(out, "\multicolumn{2}{c|}{"STRIP(LEFT(titel,name-1))"} & Sp & g & u & v &")
WRITELN(out, "\multicolumn{3}{c|}{Tore} &")
IF Quot_a>0 THEN DO
WRITELN(out, "Quot &")
END
ELSE DO
WRITELN(out, "\multicolumn{1}{c|}{Diff} &")
END
IF Pt_a>0 THEN DO
WRITELN(out, "\multicolumn{1}{c}{Pt} \\ ")
END
ELSE DO
WRITELN(out, "\multicolumn{3}{c}{Punkte} \\ ")
END
WRITELN(out, "\hline")
/*- */
END
OTHERWISE EXIT 10 /* should be unreachable, but who knows... */
END
/*- */
/*+ "main loop" */
DO WHILE ~ (EOF(in) & zeile=="")
zeile = READLN(in)
IF zeile == "" THEN BREAK
nplatz = INDEX(zeile,".")
IF nplatz > 0 THEN DO
platz = LEFT(zeile,nplatz-1)
END
IF INDEX(zeile,":") = 0 THEN DO
NOP
END
ELSE DO
n2platz =index(zeile,")")
IF n2platz > 0 THEN DO
team = STRIP(RIGHT(LEFT(zeile,name-1),name-n2platz-2))
END
ELSE DO
team = STRIP(RIGHT(LEFT(zeile,name-1),name-nplatz-2))
END
Spiele = STRIP(SUBSTR(zeile,spiele_a,4))
gew = STRIP(SUBSTR(zeile,gew_a,3))
une = STRIP(SUBSTR(zeile,une_a,3))
ver = STRIP(SUBSTR(zeile,ver_a,3))
TorePunkte = SUBSTR(zeile,tore1)
IF WORDS(TorePunkte) = 3 THEN DO
Tore = WORD(TorePunkte,1)
ToreP = STRIP(LEFT(tore,POS(":",Tore)-1))
IF ToreP == "" THEN ToreP =blank
ToreM = STRIP(SUBSTR(tore,POS(":",Tore)+1))
IF ToreM == "" THEN ToreM =blank
QuotDiff = STRIP(WORD(TorePunkte,2))
Punkte = STRIP(WORD(TorePunkte,3))
END
ELSE DO
Tore = WORD(TorePunkte,1)
ToreP = STRIP(LEFT(tore,POS(":",Tore)-1))
IF ToreP == "" THEN ToreP =blank
ToreM = STRIP(SUBSTR(tore,POS(":",Tore)+1))
IF ToreM == "" THEN ToreM =blank
QuotDiff = STRIP(SUBWORD(TorePunkte,2,2))
Punkte = STRIP(WORD(TorePunkte,4))
END
IF Pt_a >0 THEN DO
Pt = STRIP(Punkte)
END
ELSE DO
PunkteP = LEFT(Punkte,POS(":",Punkte)-1)
PunkteM = SUBSTR(Punkte,POS(":",Punkte)+1)
END
/*+ "Debug" */
IF DEBUG = 1 THEN DO
ECHO "Platz: "platz
ECHO "Team: "team
ECHO "Spiele: "SUBSTR(zeile,spiele_a,4)
ECHO "g: "SUBSTR(zeile,gew_a,3)
ECHO "u: "SUBSTR(zeile,une_a,3)
ECHO "v: "SUBSTR(zeile,ver_a,3)
ECHO "Tore: "SUBSTR(zeile,Tore_a,7)
IF Quot_a >0 THEN DO
ECHO "Quot: "SUBSTR(zeile,Quot_a,5)
END
IF Diff_a > 0 THEN DO
ECHO "Diff: "SUBSTR(zeile,Diff_a,4)
END
ECHO "Punkte: "SUBSTR(zeile,Pt_a,7)
END
/*- */
/* WRITELN(out, a||platz||"."||y||x||"("||vplatz||")"||y) */
/* Vortagsplatzierung gibts beim nächsten Mal... */
WRITELN(out, a||xr||platz||"."||y)
WRITELN(out, " "||x||team||y||xr||Spiele||y)
WRITELN(out, " "||xr||gew||y||xr||une||y||xr||ver||y)
WRITELN(out, " "||xr||ToreP||y||x||T||y||xr||ToreM||y)
WRITELN(out, " "||xr||QuotDiff||y)
IF Pt_a>0 THEN DO
WRITELN(out, " "||xr||Pt||z)
END
ELSE DO
WRITELN(out, " "||xr||PunkteP||y||x||T||y||xr||PunkteM||z)
END
/*END*/
END
END
/*- */
/*+ "Output Footer" */
SELECT
WHEN OUTPUT=1 THEN DO
/*+ "HTML" */
WRITELN(out, "</TABLE>")
WRITELN(out, "</CENTER>")
WRITELN(out, "</BODY>")
WRITELN(out, "</HTML>")
/*- */
END
WHEN OUTPUT=2 THEN DO
/*+ "LaTeX" */
WRITELN(out, "\end{tabular}")
WRITELN(out, "\end{document}")
/*- */
END
OTHERWISE EXIT 10 /* should be unreachable, but who knows... */
END
/*- */
CLOSE(out)
CLOSE(in)
ECHO "Ready."
EXIT
/*- */
/*+ "Unterroutinen"*/
usage:
ARG prg
SAY "Usage: RX" prg "<infile>"
ECHO
ECHO "Ready."
EXIT
/*- */